S3 bucket構成の推奨
このPageではS3 bucket.iconの分割ルールなどを整理した
色々読んだところ、以下の結論に落ち着いている
1. 基本は同一bucketで良い
2. 分けるタイミングはほぼない
知っておくべき原則
権限(IAM)など多くの機能は path でも機能する グループが動的に増える場合は path がよい
bucketを分けるのではなく、bucket内でpathを分ける
資料から学ぶ
一般的なS3 bucketの分割推奨タイミングは
https://gyazo.com/66736dd4ecf8f5877b041459a6a0d206
Lake Formationで管理する上で…意識するPointは
1. ライフサイクルポリシー
量が膨大な raw dataに対しては「ライフサイクルポリシー」を付与することになる。
特にlog dataなどを保管するbucketの場合は、別個に分けておいた方がいいかもしれない
くらい。
LakeFormationでpermission管理するので「バケットポリシー」は大きくならない。「オブジェクトロック」も意識しなくて良い
デフォルトでは、AWS アカウントにつき最大で 100 個のバケットを作成できます。追加のバケットが必要な場合は、サービスの制限の緩和を申請することによって、アカウントバケットの制限を最大 1,000 バケットまで引き上げることができます。使用するバケットの数が多いか少ないかにかかわらず、パフォーマンスに違いはありません。バケットの制限を引き上げる方法については、AWS 全般のリファレンスの「AWS サービスのクォータ」を参照してください。
バケット名の再利用
バケットが空の場合は削除できます。バケットが削除されると、その名前は再利用できるようになります。ただし、バケットを削除すると、さまざまな理由で名前を再利用できない場合があります。たとえば、バケットを削除してその名前が再利用可能になると、別のアカウントがその名前でバケットを作成する場合があります。また、削除したバケットの名前が再利用可能になるまでに、しばらく時間がかかる場合もあります。同じバケット名を使用する場合は、バケットを削除しないことをお勧めします。
オブジェクトとバケット
バケットに保存できるオブジェクト数に制限はありません。すべてのオブジェクトを 1 つのバケットに格納してもかまいませんし、複数のバケットに分けて整理してもかまいません。ただし、別のバケット内からバケットを作成することはできません。
バケットオペレーション
Amazon S3 の高可用性技術は、GET、PUT、LIST、および DELETE オペレーションに重点を置いています。バケットオペレーションは中央集中型のグローバルリソーススペースに対して作用するため、お使いのアプリケーションの高可用性コードパスでバケットの作成や削除を行うのは適切ではありません。バケットの作成や削除は、個別の初期化や、頻繁に実行しないセットアップルーチンで実行するほうが適しています。
バケットの命名規則と自動作成されたバケット
アプリケーションが自動的にバットを作成する場合は、命名の衝突が起きないようなバケット命名スキームを使用してください。特定のバケット名が既に使用されている場合は、異なるバケット名をアプリケーションロジックが選択するようにしてください。